package application;

/**
*	@(#) BeginMacro.java
*
*	Une commande concrete implementant l'interface Command.
*	Cette commande permet de commencer l'enregistrement d'une Macro.
*
*	@see Command
*/
public class BeginMacro implements Command {

	/**
	*	L'interface homme-machine sur laquelle sont effectuees les actions. 
	*/
	private UI ui;
	
	/**
	*	L'enregistreur dans lequel les actions de la macro vont etre enregistrees.
	*/
	private Recorder recorder;
	
	/**
	*	Constructeur BeginMacro.
	*/
	public BeginMacro(UI ui, Recorder recorder) {
		this.ui=ui;
		this.recorder=recorder;	
	}
	
	/**
	*	Lance le debut de l'enregistrement des actions. 
	*/
	public void execute() {
		recorder.setBeginMacro();
		ui.disableBeginMacro();
		ui.enableEndMacro();
	}
	
	/**
	*	Cette commande n'est pas destinee a etre rejouee depuis une macro.
	*/
	public void executeM() {
	}
	
	/**
	*	L'etat de cette commande n'est pas destine a etre conserve.
	*/
	public Memento getMemento() {
		return null;
	}

	/**
	*	L'etat de cette commande n'est pas destine a etre restaure.
	*/
	public void setMemento(Memento memento) {
	}

}
